package main

import (
	"log"
	"sync"
)

// Array 可变长数组
type Array struct {
	array []int //固定大小的数组，用满容量和满大小的切片代替
	len   int   // 真正长度
	cap   int   //容量
	lock  sync.Mutex
}

// Make 新建一个可变长数组
func Make(len, cap int) *Array {
	s := new(Array)
	if len > cap {
		panic("len large than cap")
	}
	//把切片当数组用
	array := make([]int, cap, cap)
	//元数据
	s.array = array
	s.cap = cap
	s.len = 0
	return s
}
func main() {
	array := Make(1, 2)
	log.Println(array)
}
